Datenbank – die neusten Beiträge

Kommt es bei Menschen mit einer Sprachbehinderung zu Missverständnissen und Fehlern?

Wenn ein Mensch mit einer Sprachbehinderung eine Ausbildung zu Kaufmann für Büromommunikation machen würde und würde anschließend auch in einen Büro arbeiten, wo man telefonieren muss und auch Daten in Computer eingegeben werden.

Bei einfachen Sätzen wird man noch verstanden wie z.B.:

Person A (mit einer Sprachbehinderung) fragt am Telefon:"Wo wohnen Sie?" und Person B sagt "in Hamburg".

Also Person A trägt in Computer "Hamburg" bei Wohnort des Kunden ein.

Bei komplexeren Sätzen, wo auch Zahlen vorkommen, das es auch passieren kann, das die betreffende Person falsche Zahlen in die Datenbank einträgt.

Man selber meint, das man deutllich gesprochen hat, aber man weiß bei fremden Menschen nicht, ob die gesagte Zahl nun stimmt oder nicht, als Beispiel wäre 1989 die richtige Zahl, aber der Kunde am Telefon hat 1994 gesagt und man trägt auch 1994 ein.

oder man bekommt eine falsche Uhrzeit gesagt, obwohl die andere Person einen nicht verstanden hat und kommt z.B. zu früh oder zu spät.

Was meint Ihr und wie sind Eure Erfahrungen mit Menschen, die eine Sprachbehinderung haben?

Wenn Ihr selber davon Betroffen seid, habt Ihr mal in einen Büro gearbeitet und gab es irgendwelche Probleme oder hat alles geklappt?

Arbeit, Beruf, Telefon, Sprache, Menschen, Arbeitsplatz, Daten, Kommunikation, Büro, Betroffene, Bürokommunikation, Datenbank, Firma, Menschen mit Behinderungen, Sprechen, Unternehmen, Arbeitskollegen, Erfahrungen

SQL aufgabe?

Hallo zusammen,

ich lerne gerade für eine SQL-Klausur und beiße mir an einer Aufgabe die Zähne aus. Ich habe eine Lösung, die mir logisch erscheint, aber eine andere, kompliziertere Lösung wurde mir als korrekt genannt. Ich würde gerne verstehen, wo der Denkfehler liegt.

Das Datenbankschema:

  • Person (person_id, name, alter)
  • Gegenstand (gegenstand_id, name)
  • Ausleihe (person_id, gegenstand_id, datum)

Die Aufgabenstellung:

"Finde die ID jedes Gegenstands (
gegenstand_id
) und das Durchschnittsalter der Personen, die älter als 40 sind und diesen Gegenstand mindestens 3 Mal ausgeliehen haben

Meine Lösung, die mir logisch erscheint:

SQL

SELECT
    A.gegenstand_id,
    AVG(P.alter) AS Durchschnittsalter
FROM
    Ausleihe A
JOIN
    Person P ON A.person_id = P.person_id
WHERE
    P.alter > 40
GROUP BY
    A.gegenstand_id
HAVING
    COUNT(*) >= 3;

Eine andere, vorgeschlagene Lösung:

SQL

SELECT
    A.gegenstand_id,
    AVG(P.alter) AS Durchschnittsalter
FROM
    Ausleihe A
JOIN
    Person P ON A.person_id = P.person_id
WHERE
    P.alter > 40
    AND A.gegenstand_id IN (
        SELECT gegenstand_id
        FROM Ausleihe
        GROUP BY gegenstand_id
        HAVING COUNT(*) >= 3
    )
GROUP BY
    A.gegenstand_id;

Meine Frage an euch: Welche der beiden Lösungen ist korrekt und warum genau ist die andere falsch? Ich habe das Gefühl, es hat mit der Reihenfolge von

WHERE
und
HAVING
zu tun, aber ich kann den Fehler in meiner Logik nicht genau finden.

Vielen Dank für eure Hilfe!

Gemini 2.5 pro sagt letzteres , GPT ,QWEN sagen meine lösung geht auch

SQL, Datenbank, Informatik, Informatiker, MySQL, Programmiersprache, Datenbankabfrage

Offline Hash-Lookup mit 55 Mio. Datensätzen – wie löst man das ohne Datenbank?

Hallo zusammen,

ich stehe aktuell vor einer Herausforderung, bei der ich hoffe, dass mir jemand aus der Community weiterhelfen kann.

Für ein berufliches Projekt habe ich eine offlinefähige HTML-Seite mit einer eingebetteten Datenstruktur entwickelt. Ziel ist es, Kennziffern zu speichern und daraus mittels eines Hash-Verfahrens nicht umkehrbare Output-Werte zu generieren. Beispiel:

Eingabe (Kennziffer): 9000

Ausgabe (gehashter Wert): 14194901194611390735

Die Hashing-Methode ist bewusst so gewählt, dass keine Rückrechnung möglich ist. Soweit funktioniert alles.

⚠️ Das Problem

Die Suche innerhalb der Seite funktioniert aktuell nur über die ursprüngliche Kennziffer. Das Problem ist: der Nutzer kennt in der Praxis nur den Output-Wert, z. B. 14194901194611390735, und möchte wissen, welche Kennziffer dahintersteckt. Da der Hash nicht umkehrbar ist, ist ein direkter Lookup aktuell nur auf der aktiven Seite mit den angezeigten Daten möglich.

  • Und genau hier liegt der Haken:
  • Ich habe 55 Millionen solcher Kennziffern
  • Pro HTML-Seite werden 500 Datensätze generiert
  • Das ergibt über 110.000 Seiten

Es gibt keine zentrale Datenbank zur Suche, weil aus Speicher- und Performancegründen alles offline und möglichst klein gehalten werden soll

🔒 Einschränkungen

Das gesamte Projekt (HTML, CSS, JavaScript + Datenstruktur) soll offline lauffähig und unter 100 MB bleiben

Der Einsatz eines Server-Backends oder großer Datenbanken (>5 GB) ist nicht möglich oder gewünscht

Die Datenstruktur wächst jährlich um mehrere Millionen Datensätze

🤔 Was ich bisher versucht habe

Ich habe überlegt, beim Laden jeder Seite 500 neue Kennziffern zu erzeugen und deren gehashte Outputs direkt clientseitig berechnen zu lassen. Das funktioniert gut für die Anzeige – aber nicht für die Suche nach einem bestimmten Output-Wert.

Eine umgekehrte Hash-Suche ist natürlich ausgeschlossen, da das Verfahren absichtlich keine Rückwärtsauflösung erlaubt.

❓Meine Frage

Gibt es eine effiziente Möglichkeit, mit der ein Nutzer bei Eingabe eines Output-Werts wie 14194901194611390735 die zugehörige Kennziffer offline ermitteln kann – ohne dass ich eine vollständige Datenbank mit allen 55 Millionen Hash-Paaren speichern oder laden muss?

Mir ist klar, dass eine vollständige Map (Kennziffer → Hash) dafür nötig wäre – aber gibt es ggf. ein smarteres Vorgehen wie:

  • Bloomfilter mit Rückverweis?
  • Gezielte Partitionierung?
  • Hash-Index mit gezieltem Zugriff?

Ich bin für jeden technischen Denkanstoß oder Lösungsansatz offen – auch gerne minimalistische Kompressionsverfahren oder Lookup-Strategien.

Vielen Dank im Voraus für jede Unterstützung! Ich tüftele jetzt seit Tagen an diesem Ding und komme nicht weiter.

Hier nur ein Beispiel, wie die Kennziffern und deren Ergebnisse aussehen:

  • 9000     | 14194901194611390735
  • 9001     | 1420772774969051074
  • 9002     | 16576014318843989704
HTML, Datenbank, Webdesign, Webentwicklung

SQL abfragen herangehensweise?

Hallo

Ich übe gerade SQL ich komme mit einfachen abfragen eigentlich gut zurecht , SELECT FROM JOIN sind kein ding. Aber bei komplexeren Abfragen kriege ich schwierigkeiten in Where oder in bzw Kombi mit Group By

oder vorallem bei verschachtlungen

Habt ihr tipps für die passende Herangehensweise?

Hier so Bsp schwiergigkeitsgrad was ich draufhaben muss:

Gegeben ist folgendes Datenbankschema für ein Buchungssystem:

1. Tabelle: Kunden

Diese Tabelle speichert die Kundendaten.

  • KundenID
    (Primärschlüssel)
  • Name
  • Kategorie
    (ein numerischer Wert, z.B. für die Priorität)
  • Alter

2. Tabelle: Standorte

Diese Tabelle enthält die verschiedenen Standorte.

  • StandortID
    (Primärschlüssel)
  • StandortName
  • Kapazitaet

3. Tabelle: Buchungen

Diese Tabelle verbindet Kunden mit Standorten zu einem bestimmten Datum.

  • KundenID
    (Fremdschlüssel, verweist auf Kunden)
  • StandortID
    (Fremdschlüssel, verweist auf Standorte)
  • Datum
Hinweis: Die Kombination aus
KundenID und StandortID
ist der zusammengesetzte Primärschlüssel dieser Tabelle.
b) Standorte, die Kunden mit hoher Priorität betreuen:
Ich muss die Namen aller Standorte finden, die Buchungen für Kunden haben, deren
Kategorie
-Wert höher ist als der Durchschnitt aller Kunden.

c) Doppelte Buchungen am selben Ort und Tag finden:

Wie finde ich heraus, welche Kunden am selben Datum am selben Standort einen Termin gebucht haben?

d) Kunden mit überdurchschnittlich vielen Buchungen:

Wie kann ich die Namen aller Kunden auflisten, deren Anzahl an Buchungen höher ist als die durchschnittliche Anzahl von Buchungen pro Kunde?
Programm, SQL, Webseite, programmieren, Datenbank, Informatik, Informatiker, MySQL, Datenbankabfrage, Datenbanksystem

Wieso geht der Code nicht?

Hallo

Ich möchte mit js ein Programm bauen, welches meinen Körper erkennt und dort drauf dann ein T-Shirt-Modell legt. Also so eine virtuelle Garderobe quasi. Wieso geht der Code nicht?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Virtual Try-On Final</title>
<style>
 body { margin: 0; overflow: hidden; }
 #webcam {
  position: absolute;
  transform: scaleX(-1);
  opacity: 0.5;
  z-index: 1;
 }
 #output {
  position: absolute;
  z-index: 2;
 }
</style>
</head>
<body>
<video id="webcam" autoplay playsinline></video>
<canvas id="output"></canvas>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/body-pix"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/three@0.128.0/examples/js/loaders/GLTFLoader.js"></script>
<script>
const video = document.getElementById('webcam');
const output = document.getElementById('output');
let net, scene, camera, renderer, shirt;
let bodyPosition = { x: 0, y: 0, width: 0, height: 0 };
async function setupWebcam() {
 try {
  const stream = await navigator.mediaDevices.getUserMedia({
   video: {
    width: { ideal: 640 },
    height: { ideal: 480 },
    facingMode: 'user'
   }
  });
  video.srcObject = stream;
  
  return new Promise(resolve => {
   video.onloadedmetadata = () => {
    output.width = video.videoWidth;
    output.height = video.videoHeight;
    resolve();
   };
  });
 } catch (error) {
  console.error('Webcam error:', error);
  alert('Bitte Webcam-Zugriff erlauben!');
 }
}
function initThreeJS() {
 scene = new THREE.Scene();
 camera = new THREE.PerspectiveCamera(
  60,
  output.width / output.height,
  0.1,
  1000
 );
 camera.position.set(0, 0, 2);
 renderer = new THREE.WebGLRenderer({
  canvas: output,
  alpha: true,
  antialias: true
 });
 renderer.setClearColor(0x000000, 0);
 // Beleuchtung
 const ambientLight = new THREE.AmbientLight(0xffffff, 1.0);
 scene.add(ambientLight);
 const directionalLight = new THREE.DirectionalLight(0xffffff, 0.8);
 directionalLight.position.set(0, 2, 5);
 scene.add(directionalLight);
 loadShirtModel();
}
async function loadShirtModel() {
 const loader = new THREE.GLTFLoader();
 try {
  const gltf = await loader.loadAsync('tshirt_model.glb');
  shirt = gltf.scene;
  
  // Material-Anpassung
  shirt.traverse(child => {
   if (child.isMesh) {
    child.material = new THREE.MeshPhongMaterial({
     color: 0xffffff,
     transparent: true,
     opacity: 0.9,
     depthWrite: false
    });
   }
  });
  shirt.scale.set(0.3, 0.3, 0.3);
  scene.add(shirt);
  console.log('T-Shirt Modell geladen');
 } catch (error) {
  console.error('Modellfehler:', error);
  addFallbackCube();
 }
}
function addFallbackCube() {
 const geometry = new THREE.BoxGeometry(0.5, 0.5, 0.5);
 const material = new THREE.MeshBasicMaterial({ color: 0xff0000 });
 shirt = new THREE.Mesh(geometry, material);
 scene.add(shirt);
}
function calculateBodyPosition(segmentation) {
 const data = segmentation.data;
 let minX = Infinity, maxX = -Infinity;
 let minY = Infinity, maxY = -Infinity;
 for (let y = 0; y < segmentation.height; y++) {
  for (let x = 0; x < segmentation.width; x++) {
   if (data[y * segmentation.width + x] === 1) {
    minX = Math.min(minX, x);
    maxX = Math.max(maxX, x);
    minY = Math.min(minY, y);
    maxY = Math.max(maxY, y);
   }
  }
 }
 if (minX !== Infinity) {
  bodyPosition = {
   x: (minX + maxX) / 2,
   y: (minY + maxY) / 2,
   width: maxX - minX,
   height: maxY - minY
  };
 }
}
function updateShirtPosition() {
 if (!shirt) return;
 // Koordinatenumrechnung
 const x = (bodyPosition.x / output.width - 0.5) * 2;
 const y = -(bodyPosition.y / output.height - 0.5) * 2;
 
 shirt.position.set(x, y, 0);
 
 // Skalierung basierend auf Körpergröße
 const scaleFactor = bodyPosition.height / output.height * 2;
 shirt.scale.set(scaleFactor, scaleFactor, scaleFactor);
}
async function detectBody() {
 try {
  // Ganzkörper-Segmentierung
  const segmentation = await net.segmentPerson(video, {
   segmentationThreshold: 0.7,
   internalResolution: 'high',
   maxDetections: 1
  });
  calculateBodyPosition(segmentation);
  updateShirtPosition();
  // Rendering
  const ctx = output.getContext('2d');
  ctx.clearRect(0, 0, output.width, output.height);
  renderer.render(scene, camera);
  requestAnimationFrame(detectBody);
 } catch (error) {
  console.error('Detektionsfehler:', error);
 }
}
(async () => {
 await setupWebcam();
 net = await bodyPix.load({
  architecture: 'ResNet50',
  outputStride: 32,
  quantBytes: 2
 });
 initThreeJS();
 detectBody();
})();
</script>
</body>
</html>

Freundliche Grüsse

HTML, Webseite, CSS, JavaScript, HTML5, Code, Datenbank, Programmiersprache, Webentwicklung, Frontend

PHP Fehler?

Moinsen Leude,

Ich bin gerade etwas am verzweifeln. Ich arbeite noch nicht so lange mit php und stoße die ganze zeit immer wieder auf den gleichen fehler:

Warning: Undefined array key "password" in C:\xampp\htdocs\website\metropolisx\index.php on line 21

Hier die PHP-Datei um die es geht:

<?php
session_start();
require_once "includes/config.php"; // Datenbankverbindung

$error = "";

// Nur fortfahren, wenn das Formular per POST abgesendet wurde
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Überprüfen, ob die Felder 'username' und 'password' in $_POST gesetzt sind
    $username = isset($_POST['username']) ? $_POST['username'] : '';
    $password = isset($_POST['password']) ? $_POST['password'] : '';

    // Überprüfen, ob beide Felder nicht leer sind
    if (!empty($username) && !empty($password)) {
        // Datenbankabfrage, um den Benutzer zu finden
        $stmt = $pdo->prepare("SELECT * FROM accounts WHERE USERNAME = ?");
        $stmt->execute([$username]);
        $user = $stmt->fetch();

        // Wenn der Benutzer existiert und das Passwort korrekt ist
        if ($user && password_verify($password, $user['password'])) {
            $_SESSION['user'] = $user['username'];
            // Weiterleitung zum Dashboard
            header("Location: pages/dashboard.php");
            exit();
        } else {
            $error = "Falsche Anmeldedaten!";
        }
    } else {
        // Fehlermeldung, wenn eines der Felder leer ist
        $error = "Bitte Benutzername und Passwort eingeben!";
    }
}
?>

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Login | MetropolisX</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>

<div class="login-container">
    <h2>MetropolisX - Login</h2>

    <?php if ($error): ?>
        <p class="error"><?php echo htmlspecialchars($error); ?></p>
    <?php endif; ?>

    <form method="post">
        <input type="text" name="username" placeholder="Benutzername" required>
        <input type="password" name="password" placeholder="Passwort" required>
        <button type="submit">Anmelden</button>
    </form>
</div>

</body>
</html>

Wenn einer von euch weiß warum ich diesen fehler die ganze zeit kriege, gebt gerne bescheid. Danke schonmal im vorraus :D

SQL, HTML, Webseite, Code, Datenbank, MySQL, PHP, Programmiersprache, Webdesign, Webentwicklung

PHP: Wie kann ich die Videoladezeit verbessern?

Hallo,

ich habe folgendes Problem:

Ich habe diese PHP-Datei erstellt und bei mir auf meinem iPhone lädt es die Videodatei sehr langsam bis gar nicht. Wenn ich aber auf PC im gleichen Netflix schaue, lädt es sehr schnell.

Ich habe es bei anderen Freunden testen lassen, die auch ein iPhone haben. Bei der einen Person lädt es auch sehr schnell, bei der anderen auch nicht, so wie bei mir. Bei mir lädt es immer nur schnell, wenn ich mobile Daten anhabe.

Die Videodateien sind 2-7 GB groß.

Vielleicht kann jemand eine Lösung für mich finden, das zu beheben. Wichtig ist, dass ich die Größe der Videodateien nicht verkleinern kann. Das heißt, es muss trotzdem schnell die Videodatei laden.

Ich sage schon einmal danke an die Person, die sich die Zeit und Mühe nimmt, mir zu helfen.

Bei einer Verbindung mit dem normalen Heimnetz sieht es auf dem iPhone so aus:

Wenn ich über LTE (mobile Daten) lade:

Der PHP-Code:

<?php 
  require 'db.php'; // Die Datenbankverbindung einbinden
  require 'is_premium.php'; // Die Datenbankverbindung einbinden

  // Überprüfen, ob eine ID übergeben wurde
  if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    die('Ungültige Film-ID.');
  }

  $movie_id = intval($_GET['id']);
  // Film aus der Datenbank abfragen
  $stmt = $db->prepare('SELECT * FROM movies WHERE id = ?');
  $stmt->bind_param('i', $movie_id);
  $stmt->execute();
  $result = $stmt->get_result();

  if ($result->num_rows === 0) {
    die('Film nicht gefunden.');
  }

  $movie = $result->fetch_assoc();
  $stmt->close();
  $db->close();

  // Erkennen, ob die URL ein lokales Video ist oder über HTTPS geladen werden soll
  $is_local_video = strpos($movie['video'], 'uploads/videos/') === 0;
  $is_https = strpos($movie['video'], 'https://') === 0;
  $thumbnail = htmlspecialchars($movie['thumbnail']); // Thumbnail aus der Datenbank
?>
<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title><?php echo htmlspecialchars($movie['name']); ?> - MovieVel</title>
  <style>
   #css code
  </style>
</head>
<body>
  <div class="container">
    <div class="movie-detail">
      <h1><?php echo htmlspecialchars($movie['name']); ?></h1>
      <!-- Movie Video -->
      <div class="<?php echo $is_local_video ? 'video-container' : 'iframe-container'; ?>">
        <div class="play-btn">
          &#9654; <!-- Play-Symbol -->
        </div>
        <?php if ($is_local_video): ?>
          <!-- Video für progressive Web-Optimierung mit Bild-in-Bild-Unterstützung -->
          <video id="video-player" controls autoplay preload="auto" poster="<?php echo $thumbnail; ?>"
              onclick="this.requestPictureInPicture()" muted playsinline>
            <source src="<?php echo htmlspecialchars($movie['video']); ?>" type="video/mp4">
            Ihr Browser unterstützt dieses Videoformat nicht.
          </video>
        <?php elseif ($is_https): ?>
          <iframe 
            src="<?php echo htmlspecialchars($movie['video']); ?>" 
            allowfullscreen>
          </iframe>
        <?php else: ?>
          <p>Video konnte nicht geladen werden. Überprüfen Sie die URL oder die Serverkonfiguration.</p>
        <?php endif; ?>
      </div>
      <!-- Movie Description -->
      <div class="description-box">
        <h2>Über den Film</h2>
        <p><?php echo htmlspecialchars($movie['description']); ?></p>
      </div>
      <!-- Back Button -->
      <a href="index.php" class="back-btn">Zurück zur Übersicht</a>
    </div>
  </div>
  <script>
    const video = document.getElementById('video-player');
     
    // Überprüfen, ob Picture-in-Picture unterstützt wird
    if ('pictureInPictureEnabled' in document) {
      video.addEventListener('click', async () => {
        try {
          // Versuchen, Bild-in-Bild zu aktivieren
          if (document.pictureInPictureElement !== video) {
            await video.requestPictureInPicture();
          } else {
            // Wenn das Video schon im Bild-in-Bild-Modus ist, es wieder schließen
            await document.exitPictureInPicture();
          }
        } catch (err) {
          console.error('Fehler beim Wechseln in den Bild-in-Bild-Modus:', err);
        }
      });
    }
  </script>
</body>
</html>
Bild zum Beitrag
Homepage, SQL, HTML, Webseite, CSS, JavaScript, HTML5, Code, Datenbank, MySQL, PHP, Webdesign, Webentwicklung, phpMyAdmin

Website lädt Datei nicht hoch, warum?

Moin, kennt sich vielleicht jemand mit PHP und Html aus und weiß warum beim Upload der Datei nicht das Script "upload.php" ausgeführt wird? Versuche mich gerade beim Scripten, stehe allerdings gerade voll auf dem Schlauch... Danke!

<?php include 'header.php'; ?>
<?php
if(!isset($_SESSION['email'])){
  header('location:login.php');
  $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
}
 ?>
      <div class="breadcrumb">
        <div class="container">
            <a class="breadcrumb-item" href="index.php">Home</a>
            <span class="breadcrumb-item active">Welecome <?php echo $_SESSION['email'] ?></span>
            <span class="breadcrumb-item active">Upload Video</span>
        </div>
    </div>
    <section class="static about-sec">
        <div class="container">
            <h1>Upload Video</h1>
            <div class="form">
                <form class="" action="videoUpload.php" method="post">
                    <div class="row">
                        <div class="col-md-6">
                            <input type="hidden" name="id" value="">
                            <label for="name">Name of Video:</label>
                            <input type="text" name="name" value="" placeholder="Fantasy World" required>
                            <label for="video_url">Video URL</label>
                            <input type="file" name="video_url" required>
                            <label for="description">Description</label>
                            <input type="text" name="description" value="" placeholder="">
                            <label for="category">Category</label>
                            <select name="category">
                              <option value="Classic">Classic</option>
                              <option value="Adventerous">Adventerous</option>
                              <option value="Nature">Nature</option>
                              <option value="Others">Others</option>
                            </select>
                          </div>
                        </div>
							<div class="col-lg-8 col-md-12">
							<form action="upload.php" method="post" enctype="multipart/form-data">
							<input type="submit" class="btn black" value="Upload Image" name="submit">
							</form>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </section>


    <?php include 'footer.php';?>
HTML, Webseite, HTML5, Code, Datenbank, MySQL, PHP, Programmiersprache, Webdesign, Webentwicklung

Wie implementiere ich eine Mehrfachauswahl?

Kann ich es ermöglichen, dass der Benutzer mehrere Marken oder Baujahre gleichzeitig auswählen kann? Wie würde ich den Query entsprechend anpassen?


<?php
    require "includes/conn.inc.php";
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Modelle</title>
</head>
<body>
    <h1>Modelle</h1>
    <form method="post">
        <label for="marke">
            Marke
            <input name="marke" type="text">
        </label>
        <label for="modell">
            Modell
            <input name="modell" type="text">
        </label>
        <label for="baujahr">
            Baujahr
            <input name="baujahr" type="text">
        </label>
        <button type="submit">Suchen</button>
    </form>
    <ul>
        <?php
            // Loop through tbl_marken and create WHERE clause
            $where_marke = "";
            if (count($_POST) > 0) {
                if (array_key_exists("marke", $_POST)) {
                    if (strlen($_POST["marke"] > 0)) {
                        $where_marke = "WHERE Markenname LIKE '%" . $_POST["marke"] . "%'";
                    }
                }
            }
            $conn = openConn();
            $markenSql = "
                SELECT 
                    * 
                FROM tbl_marken "
                . $where_marke . "
                ORDER BY Markenname ASC
            ";
            $marken = $conn->query($markenSql) or die($conn->error);
            while ($marke = $marken->fetch_object()) {
                echo "<li>";
                    echo $marke->Markenname;
                echo "</li>";
                
                // Loop through tbl_modell and create WHERE clause
                echo "<ul>";
                    $where_modell = "";
                    if (array_key_exists("modell", $_POST)) {
                        if (strlen($_POST["modell"] > 0)) {
                            $where_modell = " AND Modell LIKE '%" . $_POST["modell"] . "%'";
                        }
                    }
                    $modellSql = "
                        SELECT 
                            * 
                        FROM tbl_modelle 
                        WHERE FIDMarke=" . $marke->IDMarke . $where_modell . "
                        ORDER BY tbl_modelle.Modell ASC
                    ";
                    $modelle = $conn->query($modellSql) or die($conn->error);
                    while ($modell = $modelle->fetch_object()) {
                        echo "<li>";
                            echo $modell->Modell;
                        echo "</li>";   


                        // Loop through baureihen and create WHERE clause
                        echo "<ul>";
                            $where_bau = ["FIDModell=" . $modell->IDModell];
                            if (array_key_exists("baujahr", $_POST)) {
                                if(intval($_POST["baujahr"])>0) {
                                    $where_bau[] = "BaujahrVon<=" . $_POST["baujahr"];
                                    $where_bau[] = "BaujahrBis>=" . $_POST["baujahr"];
                                }
                            }
                            $bauSql = "
                                SELECT 
                                    * 
                                FROM tbl_baureihen 
                                WHERE " . implode(" AND ", $where_bau)
                            ;
                            $baureihen = $conn->query($bauSql) or die($conn->error);
                            while ($baureihe = $baureihen->fetch_object()) {                               
                                echo "<li><a href='modell_teile.php?IDBaureihe=" . $baureihe->IDBaureihe . "'>" . $baureihe->BaujahrVon . " - " . $baureihe->BaujahrBis . " </a></li>";
                            }
                        echo "</ul>";
                    }
                echo "</ul>";
            }
        ?>
    </ul>
</body>
</html>
Datenbank, Programmiersprache

Python API Spam Prevention?

Hallo Freunde,

ich nutze ein Python Script das automatisch nach erfolgreicher Registrierung ein JSON String zu meiner Website sendet, per requests.post im Format: https://[URL]/upload.php

Von dort werden die Daten verarbeitet und in der Datenbank eingetragen.

Nun ist mir aber klar, dass natürlich jeder theoretisch die URL entnehmen könnte, und ein kleines Script erstellen kann, das permanent Anfragen sendet und damit die Datenbank mit Invalider Daten füllt.

Nun würde ich gerne erfahren, was man dagegen tun kann!

Mit freundlichen Grüßen

SQL, Webseite, Code, Datenbank, MySQL, PHP, Python, Python 3, JSON

Datenbank SQL Lite hilfe?

Hallo,

ich bin dabei Python zu lernen und wollte ein Ticket system erstellen womit man nur die Maus benutzen braucht ich bin auch schon fast fertig alles funktioniert wunderbar allerdings gibt es ein Problem und zwar will ich das 2 Nutzer gleichzeitig Tickets bzw. zeilen inder Tabelle ausfüllen können. das funktioniert nicht so ganz wenn 2 benutzer Angemeldet sind und beide das Programm gestartet haben (Beide Computer sind an gleiches Lokales Netzwerk verbunden) ist es so das der eine Nutzer seine EInträge macht der 2te Nutzer kann entweder keine Einträge machen oder er macht welche aber in seiner Tabelle entstehen zeilen vom anderen nutzer die leer sind. Das Problem scheint SQL Lite zu sein. Ist wohl nicht ganz ausgelegt das 2 nutzer gleichzeitig arbeiten. ich wollte aber das ganze Offline belassen ohne My SQL oder so davon habe ich ehh keine ahnung.

Jetzt habe ich CHAT GPT gefragt und er sagt mir es gibt eine möglichkeit mit Warteschlange um genau zu sein hat er das gesagt :

Datenbank-Verwaltung im Code: Falls du SQLite unbedingt verwenden möchtest, kannst du im Python-Programm sicherstellen, dass nur ein Nutzer gleichzeitig schreibend auf die Datenbank zugreift. Du könntest dazu eine Warteschlange einrichten, die Schreibanforderungen von verschiedenen Nutzern entgegennimmt und nacheinander ausführt.

also das hört sich genau richtig an und daher wollte ich fragen ob sich jemand damit auskennt da Datenbank für mich so 0 Ahnung.

SQL, HTML, JavaScript, Datenbank, Programmiersprache, Python, Python 3

Meistgelesene Beiträge zum Thema Datenbank